前面我們學了realm資料庫基本的使用還有tableview的建立,今天的我們會結合前面學習到的資料庫和tableview來跟大家分享,並延伸新的東西!
這個函式是tableview內建的喔,就是可以讓tableview裡面的cell做滑動喔,可以從右邊往左滑動喔!,並多出一個小方塊做操作,如下圖,那我們來看跟資料庫結合使用的例子吧
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let deleteAction = UIContextualAction(style: .destructive, title: "delete") { (_, _, completionHandler) in
let realm = try! Realm()
// 比較與原本的資料數量是否一致
if indexPath.row < self.MessageArray.count{
self.deleteArr_cell = self.MessageArray[indexPath.row]
let edit_CurrentTime = self.deleteArr_cell?.CurrenTime
// 抓取要刪除的資料
let delete_cell = realm.objects(MessageBoard.self).where{$0.CurrenTime == edit_CurrentTime ?? ""}[0]
// 刪除
try! realm.write{
realm.delete(delete_cell)
}
self.MessageArray.remove(at: indexPath.row)
self.tbview.deleteRows(at: [indexPath], with: .automatic)
//self.tbview.reloadData()
//這邊不用從新更新資料庫的原因是因為deleteRows(at: [indexPath]已經更新過了
}
completionHandler(true)
}
return UISwipeActionsConfiguration(actions: [deleteAction])
}
這邊我做的動作是刪除,所以我需要先打開資料庫,並撈取那個cell的資料,然後做刪除,最後再告訴系統已經完成這個動作了!
今天我們又學習了更多swift內建的函式,並看了一個資料庫結合tableview的例子,又更暸解tableview的使用方式了!今天學習了從右邊滑到左邊的,明天會跟大家分享左邊滑到右邊的喔!各位明天見。